Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
web前端开发工具
###核心概念
这个模块是Bone的核心功能,为了让使用者更容易读懂Bone的配置文件,核心模块提供了一种类似操作系统里文件系统的概念,我称它为虚拟文件系统,即将一个虚拟的文件地址映射到一个真实存在的文件地址上,同时可以标注虚拟文件是由何种方式对源文件处理(注意这里不对真实文件做任何处理,源文件是指对真实文件的在内容上的拷贝),对源文件的处理模块我称它为处理器,通过下面的示例你可以对Bone的虚拟文件系统有一个初步的了解。
###示例
这是一个简单Bone配置例子的示范,你需要在项目文件夹下创建bonefile.js
文件,并安装bone-cli
var bone = require('bone');
var connect = require('bone-cli-connect');
var less = bone.require('bone-act-less');
var concat = bone.require('bone-act-concat');
// 定义生成文件夹dist,用来存放最终的文件
var dist = bone.dest('dist');
// 在dist下定义文件夹css(通过dist变量的链式调用为指定定义再其下的文件)
dist.dest('css')
// 指定映射来源src/less下所有.less后缀的文件
.src('~/src/less/*.less')
// 所有文件都经过less处理
.act(less({
ieCompat: false
}))
// 并重命名为.css后缀
.rename(function(filename) {
return filename.replace(/\.less$/, '.css');
});
// 在dist下定义文件夹html
dist.dest('html')
// 映射src/下将所有.html文件
.src('~/src/*.html');
// 在dist下定义文件夹js
dist.dest('js')
// 指定映射来源文件为src/main.js
.src('~/src/main.js')
// 将源文件与src/lib下所有.js后缀的文件合并
.act(concat({
files: '~/src/lib/*.js'
}));
// 加载支持connect的插件
bone.cli(connect({
base: './dist',
port: 8080
}));
ps:'~/'符号指bonefile.js文件所在的文件夹位置,Bone中的文件路径都使用fs.pathResolve解析,详情请参阅api
安装示例中的依赖
$ npm install bone bone-cli-connect bone-act-less bone-act-concat --save-dev
启用connect后通过浏览http://localhost:8080查看文件
$ bone connect
###Grunt && Glup共存
bone.task('grunt', {
exec: 'grunt'
});
bone.task('gulp', {
exec: 'gulp',
params: 'default'
});
bone.task的exec通过开启子进程,调用系统内其他命令行工具
###性能
当启用bone-cli-connect
或bone-cli-proxy
时开启内部缓存,通过bone的fs api接口读取的文件内容都将会以buffer的形式缓存到内存里,当文件内容发生变化时,bone根据文件的依赖清空相应文件的缓存,缓存的粒度控制到单个文件。
###文档
###常用服务器
###常用处理器
FAQs
web frontend develop toolkit
We found that bone demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.